﻿using Himp.Base;
using System;
using System.Collections.Generic;
using System.Text;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;

namespace Himp.Outpatient
{
    /// <summary>
    /// 临床收费记录
    /// </summary>
    public class ClinicChargeRecord : AuditedAggregateRoot<Guid>, IMultiTenant
    {
        /// <summary>
        /// 临床收费记录No
        /// </summary>
        public string ClinicChargeRecordNo { get; set; }

        /// <summary>
        /// 门诊登记Id
        /// </summary>
        public Guid OtpRgstRecId { get; set; }

        /// <summary>
        /// 门诊登记
        /// </summary>
        public OtpRgstRec OtpRgstRec { get; set; }

        /// <summary>
        /// 门诊患者信息
        /// </summary>
        public Guid PatientId { get; set; }

        /// <summary>
        /// 门诊号
        /// 院内唯一流水
        /// </summary>
        public string IptOtpNo { get; set; }

        /// <summary>
        /// 临床项目类别
        /// </summary>
        public EnumClinicItemType ClinicItemType { get; set; }

        /// <summary>
        /// 分组号
        /// </summary>
        public string GroupNo { get; set; }

        /// <summary>
        /// 临床项目编码
        /// </summary>
        public string ClinicItemValue { get; set; }

        /// <summary>
        /// 临床项目名称
        /// </summary>
        public string ClinicItemLabel { get; set; }

        /// <summary>
        /// 单价
        /// </summary>
        public decimal Price { get; set; }

        /// <summary>
        /// 规格
        /// </summary>
        public string Spec { get; set; }

        /// <summary>
        /// 单位
        /// </summary>
        public string Unit { get; set; }

        /// <summary>
        /// 开单科室代码
        /// </summary>
        public string DeptmentValue { get; set; }

        /// <summary>
        /// 开单科室名称
        /// </summary>
        public string DeptmentLabel { get; set; }

        /// <summary>
        /// 开单医生代码
        /// </summary>
        public string DoctorValue { get; set; }

        /// <summary>
        /// 开单医生名称
        /// </summary>
        public string DoctorLabel { get; set; }

        /// <summary>
        /// 数量
        /// </summary>
        public decimal Quantity { get; set; }

        /// <summary>
        /// 折扣
        /// </summary>
        public decimal Discount { get; set; }

        /// <summary>
        /// 金额
        /// </summary>
        public decimal Amount { get; set; }

        /// <summary>
        /// 发生日期
        /// </summary>
        public DateTime BeginDate { get; set; }

        /// <summary>
        /// 临床收费状态
        /// </summary>
        public EnumClinicChargeStatus ClinicChargeStatus { get; set; }

        /// <summary>
        /// 附加
        /// </summary>
        public bool Additional { get; set; }

        /// <summary>
        /// 订单号
        /// </summary>
        public string OrderNo { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public Guid? TenantId { get; set; }
    }
}
